#include <stdio.h>
#include <stdlib.h>
extern void help();
extern int n, num;
extern int Search();
extern void Type();
extern void List();
extern void avg();
extern void Sort();
extern void change();
extern void Delete();
char action;   // 用户输入的命令
int count = 0; //记录输入T命令的次数
int main(int argc, char const *argv[])
{
    help();
    while (1)
    {
        printf("\n请输入命令：");
        scanf(" %c", &action); // 输入命令
        getchar();
        if (action == 'T')
        {
            count++;       //输入一次T命令，次数+1
            if (count > 1) // 如果输入一次以上T命令，打印
                printf("已经录入信息，如需重新录入，请输入Q命令退出后重试\n");
            else
                Type(); // 调用Type函数录入成绩
        }
        else if (action == 'Q')
            break; // Q命令退出
        else if (action == 'H')
            help(); // 帮助菜单
        else if (action == 'C')
            system("clear"); // C命令清屏
        else if ((action == 'A') || (action == 'L') || (action == 'P') || (action == 'S') || (action == 'G') || (action == 'D'))
        {
            if (n != 0)
            {
                if (action == 'L')
                    List(); // L命令调用List函数查看成绩列表
                else if (action == 'A')
                    avg(); // A命令计算平均值
                else if (action == 'S')
                {
                    if (Search() == 1) // 检查学号是否存在
                        printf("学号不存在");
                }
                else if (action == 'P')
                    Sort(); // P命令调用Sort函数，根据平均分对成绩排序
                else if (action == 'G')
                    change(); // G命令调用change函数，对成绩进行更改
                else if (action == 'D')
                    Delete(); // D命令调用Delete函数，按学号删除成绩
            }
            else
                printf("成绩表为空，请先使用命令T录入学生成绩！\n");
        }
        else
            printf("输入命令有误，请重新输入\n");
    }
    return 0;
}